"頁籤(上)"介紹的tab長在下面
而"頁籤(下)"介紹的tab卻長在上面XD
今天會介紹兩種TabView
一種是把tab放在上面,滑動就能換頁,這是非常常見的設計
另一種是無限分頁,常用在橫幅廣告輪播
兩種都是靠.tabViewStyle(.page)實現
首先無限分頁的偷吃步就是給他一個超大的數字(江湖一點訣,點破不值錢)
他滑得完就算我們輸XD
正規的做法是左右兩邊各加兩頁換來換去(只加一頁滑得太快可能會有問題),比較麻煩,有興趣的同學可以Google一下
畫面上方先放個segment
而Binding就跟tabView共用即可連動
接著下方是個大tabView
紅黃綠三頁
黃色那頁中間有個小tabView
既然是假的無限分頁
就不能用內建的PageControl
不然顯示多個點點就露餡了
所以要把page的indexDisplayMode設為 .never
然後自己疊個PageControl上去
index就用取餘處理
.animation(.easeInOut, value: selectedPageIndex)
這行是為了讓我們點segment的時候
tabView也會有切換的動畫,不然很難看
而PageControl是抄網路上的(SwiftUI偷code又更容易了XD)
那我就不解釋了
Android | iOS | Flutter | SwiftUI |
---|---|---|---|
TabbedActivity | UIPageViewController | TabController | TabView |
賣個關子
Android版:iOS Developer Learning Android. Lesson 20 - Activity Gallery (不用再尋找或比較套件了,官方佛心內建常用UI Design Pattern)
Flutter版:iOS Developer Learning Flutter. Lesson16 底部導航與頁籤
https://github.com/mark33699/FDLS